Repository navigation
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…on tsconfigs Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…refer-formatted-message off Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
… metadata, noUselessIndex off Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
… completeness Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…ults, CI and publish readiness
…the first source text per path) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…e rule table Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…d a blank line after it Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
e110c0
commented
Nov 10, 2026
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…e shared fixture project) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…takes all four to 8.0.0 Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…umps all four Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
e110c0
commented
Nov 10, 2026
…n latest node) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
…tions by SHA, lint own config, drop unused exports Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01HQAi8TFF159S4oBK6WA9Th
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Replaces the legacy
@cospired/eslint-config-baseand-reactpackages (ESLint 8,.eslintrc, airbnb, hapi) with ESLint 10 flat configs. Both packages release as 8.0.0. One setup replaces the per-project TypeScript config we kept copying between repos.Entries (all work with no options)
eslint.config.jsis one line:export { default } from '@cospired/eslint-config-base/node';@cospired/eslint-config-base@cospired/eslint-config-base/node-jspackage.jsontype)@cospired/eslint-config-base/typescript@cospired/eslint-config-base/node@cospired/eslint-config-react@cospired/eslint-config-react/typescriptWhat changed
scope-startis dropped because Prettier strips block-leading blank lines; blank lines beforereturnand after declarations come from@stylistic/padding-line-between-statements.eslint-find-rules --unused.src/rules/(eslint.js,typescript-eslint.js,import-x.js,eslint-comments.js,todo-plz.js,stylistic.js; react:react-hooks.js,react-refresh.js,formatjs.js,react.js).eslint-disableneeds-- reason; TODOs need a ticket (TODO(#123)); alphabetized import groups; devDependency imports only in test, config and script files; explicit return types,no-misused-promises.warn. Rules areerroror off.typedTests: trueopts in).eslint-find-rulesand Travis are gone. Tests usenode:testand the ESLint API. Versions go through changesets, and CI runs on GitHub Actions.See
MIGRATION.mdfor removed rules and peers,docs/rules.mdfor every rule with its source and decision, andRELEASING.mdfor the release steps.Verification
changeset versiongives 8.0.0 for both packages,reactdepends onbase@^8.0.0, andnpm publish --dry-runaccepts both.Please review
docs/rules.md. The "Explicitly off" section lists those switched off. Most likely to disagree with existing code:no-non-null-assertion(on),import-x/no-cycle(on).eslint-plugin-jsx-a11ydoesn't support ESLint 10.formatjs/prefer-formatted-messageis off, matching eventured's practice rather than the old cospired config.Before the release publishes
NPM_TOKEN, or npm trusted publishing (seeRELEASING.md).